package com.mju.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.mju.pojo.Order;
import com.mju.vo.OrderVo;

import java.util.List;

public interface IOrderService {
    /**
     * 创建订单
     * @param aid 收获地址id
     * @param cids 购物车id
     * @param uid 用户id
     * @param username 用户名
     * @return
     */
    Order createOrder(Integer aid, Integer[] cids, Integer uid, String username);

    // 创建订单项
    Integer createOrderItem(Integer oid, Integer cid, Integer num, String username);

    /**
     * 根据oid获取订单详情信息
     * @param oid
     * @return
     */
    List<OrderVo> queryOrderVoByOid(Integer oid);

    /**
     * 根据uid获取订单详情信息
     * @param uid
     * @return
     */
    List<OrderVo> queryOrderVoByUid(Integer uid);

    /**
     * 修改订单状态
     * @param oid
     * @return
     */
    Boolean updateStatusByOid(Integer oid);

    /**
     * 无条件查询所有订单信息
     * @param currentPage
     * @param pageSize
     * @return
     */
    IPage<Order> queryAllOrderInfo(Integer currentPage, Integer pageSize);

    /**
     * 条件查询所有订单信息
     * @param currentPage
     * @param pageSize
     * @param order
     * @return
     */
    IPage<Order> conQueryAllOrderInfo(Integer currentPage, Integer pageSize,Order order);
}
